package server.demo.dto;

import jakarta.validation.constraints.NotNull;
import java.time.LocalDate;

/**
 * 换乘查询请求DTO
 */
public class TransferSearchRequest {
    
    @NotNull(message = "出发站ID不能为空")
    private Long startStationId;
    
    @NotNull(message = "到达站ID不能为空")
    private Long endStationId;
    
    @NotNull(message = "出行日期不能为空")
    private LocalDate travelDate;
    
    private Integer maxTransferWait = 120; // 最大中转等待时间（分钟），默认2小时

    // 构造函数
    public TransferSearchRequest() {}

    public TransferSearchRequest(Long startStationId, Long endStationId, LocalDate travelDate) {
        this.startStationId = startStationId;
        this.endStationId = endStationId;
        this.travelDate = travelDate;
    }

    // Getter 和 Setter
    public Long getStartStationId() {
        return startStationId;
    }

    public void setStartStationId(Long startStationId) {
        this.startStationId = startStationId;
    }

    public Long getEndStationId() {
        return endStationId;
    }

    public void setEndStationId(Long endStationId) {
        this.endStationId = endStationId;
    }

    public LocalDate getTravelDate() {
        return travelDate;
    }

    public void setTravelDate(LocalDate travelDate) {
        this.travelDate = travelDate;
    }

    public Integer getMaxTransferWait() {
        return maxTransferWait;
    }

    public void setMaxTransferWait(Integer maxTransferWait) {
        this.maxTransferWait = maxTransferWait;
    }
}